package com.inno.subject.domain.strategy.ai;

import com.inno.subject.common.enums.MockTypeEnum;
import com.inno.subject.domain.entity.InterviewBO;
import com.inno.subject.domain.utils.ApplicationContextUtil;
import com.inno.subject.domain.utils.ChatClientUtil;
import com.inno.subject.domain.websocket.SubjectSocket;
import jakarta.annotation.Resource;
import jakarta.websocket.Session;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;

import java.util.Objects;

/**
 * 履历
 */
@Slf4j
@Component
public class ResumeHandler implements InterviewMockHandler {

    @Resource
    private ChatClientUtil chatClientUtil;
    private static final String RESUME_QUESTION = "你是一位人力资源总监，现在我已经来你们公司面试了，你是我的面试官。你要根据我说的个人情况或者发送给你的简历内容来告诉我应该如何去介绍自己的履历，，您只需要提问，由我来回答问题，您只需要判断我的回答是否正确，如果正确您再提问下一题，您每次提问一道题或二道题即可，并且当我问您今天的面试结果是否通过的时候，您需要根据我所答问题的表现，来判断是否可以通过。包括取重就轻等，好的 现在开始面试: \t\t";

    @Override
    public String getType() {
        return MockTypeEnum.RESUME.getType();
    }

    @Resource
    private ThreadPoolTaskExecutor subjectExecutor;
    @Override
    public void handle(InterviewBO interviewBO) {
        String keyword = MockTypeEnum.RESUME.getKeyword();
        subjectExecutor.submit(()-> this.start(interviewBO,keyword,chatClientUtil,RESUME_QUESTION));

    }
}
